万物皆可秒 |
您所在的位置:网站首页 › 抢购脚本 github › 万物皆可秒 |
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流。 总是抢不到想要的宝贝?试试Python脚本对于淘宝、天猫,相信大家已经无比的熟悉,在每年的双十一、双十二,或是其他购物节,平台都会上架性价比超高的一些商品,商品的性价比越高,自然吸引购买者的眼光也越多。不知道你是否有这样的经历,半夜卡着点等待心仪商品放出,狂点手机,却一秒库存不足。这是因为,背后有许许多多的抢购机器人,在与你竞争,在程序面前,眼睛看到+手工点击的速度,无疑是慢了。 本次的文章,技术宅将分享一个淘宝/天猫的秒杀脚本,这个脚本用Python编写,使用到了Python的三方库selenium,并且通过selenium + chromedriver,用程序控制chrome浏览器,完成抢购的一系列操作。有了这个脚本,大家至少可以与其他的机器人站在同一起跑线上,公平的抢购喜欢的宝贝。 selenium 安装与 chromedriver安装我们前文提到,Python脚本中使用了selenium库,而selenium又通过chromedriver来控制浏览器的鼠标点击等操作。所以,我们的第一步,是正确的安装与配置selenium以及chromedriver。 selenium的安装很简单,与其他Python三方库一样,我们直接用pip安装。 pip install seleniumchromedriver的安装,首先,chromedriver的版本很关键,我们需要选择的chromedriver版本,一定要与Chrome的版本一致。因此, 我们需要查看Chrome版本,在浏览器中输入chrome://version/ 这个示例中Chrome的版本是 72.0.3626, 我们再到以下两个网站的其中之一,去下载对应版本的chromedriver。 1、http://chromedriver.storage.googleapis.com/index.html 2、https://npm.taobao.org/mirrors/chromedriver/ 下载完成后,解压压缩包,找到chromedriver.exe复制到chrome的安装目录(其实也可以随便放一个文件夹)。复制chromedriver.exe文件的路径并加入到电脑的环境变量中去。具体的: 进入环境变量编辑界面,添加到用户变量即可,双击PATH,将文件位置(例如我们的是 C:\Program Files (x86)\Google\Chrome\Application\)添加到后面。 完成安装后,我们到cmd界面, 输入chromedriver,如果下方给出了chromedriver的版本号,说明已经安装成功。 我们再通过Python库selenium,来调用chromedriver,以此来简单测试chromedriver的功能。如果我们未配置环境变量,可用如下代码进行测试 from selenium import webdriverimport timedef main(): chrome_driver = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe' #chromedriver的文件位置 b = webdriver.Chrome(executable_path = chrome_driver) b.get('https://www.google.com') time.sleep(5) b.quit()if __name__ == '__main__': main()而如果我们已经配置好了环境变量,可以通过另一端代码来进行测试 from selenium import webdriverimport timedef main(): b = webdriver.Chrome() b.get('https://www.baidu.com') time.sleep(5) b.quit()if __name__ == '__main__': main() 核心模块代码解析安装、配置完selenium与chromedriver之后,我们就可以开始编写秒杀脚本的核心逻辑了。核心逻辑,我们通过封装函数来实现各个步骤。 第一步,启动chromedriver,并登陆淘宝。这里需要注意的是,我们通过控制chromedriver打开淘宝主页,进入到登陆界面后,需要手工扫码进行登陆。这一步骤无法做到全自动。 第二步,登陆后,我们仍然是通过chromedriver控制,进入购物车界面,并设定一个60秒的定时刷新,即每隔60秒刷新一遍购物车界面,使得我们的淘宝账户保持在登陆状态。直到当前的时间与我们所设定宝贝的抢购时间相差小于100秒,再进入下一步。 第三步,通过chromedriver选中购物车全部商品,将本地时间与淘宝服务器时间校准,以淘宝服务器返回时间作为标准时间,一旦淘宝时间到达我们抢购的时间,立即从购物车提交订单。此时有两种情况,如果我们提交订单的任务发送的太早,提交订单按钮还没有出现,此时我们重复提交订单步骤,一直到按钮出现;另一种情况,提交订单按钮在我们发送提交请求的时候已经可用了,那么直接提交成功。 第四步,付款,由于部分抢购是以付款为顺序为优先级的,我们将付款操作也加入秒杀脚本的流程,并作为最后一步,当我们提交订单成功后,脚本将自动帮助我们执行支付宝的付款。此处需要注意的是,我们需要在脚本中提前设置好正确的6位数支付密码。 秒杀脚本使用示例介绍完了秒杀脚本的核心逻辑,接下来,我们以天猫超市抢购茅台酒为例,来为大家演示这个秒杀脚本的执行流程。我们以茅台举例,并不意味着这个脚本只能抢购茅台,任何加入购物车的商品,在任何的时间,都可以用这个脚本来执行到点的秒杀。茅台由于天猫超市每天的量很有限,加上各类抢购的外挂很多,成功率比较低,但对于其他商品来说,这个秒杀脚本经过我们的对比测试,相比较手工抢购,成功率将提高一个量级。 我们执行main.py主程序脚本,程序会通过chromdriver控制,启动chrome自动打开淘宝主页,并进入登陆界面。可用看到网页上方有一行提示:Chrome正受到自动测试软件的控制。 然后,我们通过手机淘宝扫码登陆进入,登陆后,程序会自动进入购物车的界面,并每分钟刷新一次,以防止登陆超时。 临近抢购时间,程序选中购物车商品,并在抢购时间到达时,自动点击结算、提交订单。 提交订单成功后,进入付款环节,如果付款成功,代表我们的这一次秒杀成功抢到心仪的商品了,而如果付款失败,说明此次秒杀我们运气不佳,有人先一步抢到了。不过总体来说,我们有了秒杀脚本,已经超越了90%用户的抢购速度了。 如果你想要获取这个Python秒杀脚本,欢迎扫码添加数量技术宅个人微信,领取完整代码。 往期干货分享推荐阅读 数字货币资金费策略 分享一个年化15%以上的无风险套利机会 网格交易系统开发 通过深度学习股价截面数据分析和预测股票价格 Omega System Trading and Development Club内部分享策略Easylanguage源码 一个真实数据集的完整机器学习解决方案(下) 一个真实数据集的完整机器学习解决方案(上) 如何使用交易开拓者(TB)开发数字货币策略 股指期货高频数据机器学习预测 如何使用TradingView(TV)回测数字货币交易策略 如何投资股票型基金?什么时间买?买什么? 【数量技术宅|量化投资策略系列分享】基于指数移动平均的股指期货交易策略 AMA指标原作者Perry Kaufman 100+套交易策略源码分享 【 数量技术宅 | 期权系列分享】期权策略的“独孤九剑” 【数量技术宅|金融数据系列分享】套利策略的价差序列计算,恐怕没有你想的那么简单 【数量技术宅|量化投资策略系列分享】成熟交易者期货持仓跟随策略 如何获取免费的数字货币历史数据 【数量技术宅|量化投资策略系列分享】多周期共振交易策略 【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数 商品现货数据不好拿?商品季节性难跟踪?一键解决没烦恼的Python爬虫分享 【数量技术宅|金融数据分析系列分享】如何正确抄底商品期货、大宗商品 【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略 【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |